﻿
namespace SistemaLogistica.Business.Logic
{
    using System;
    using System.Collections.Generic;
    using SistemaLogistica.Business.Entities;
    using SistemaLogistica.DataAccess;

    public class ProveedorManager
    {
        private ProveedorManager() { }

        private static readonly ProveedorManager instancia = new ProveedorManager();

        public static ProveedorManager Instancia
        {
            get { return instancia; }
        }

        public List<Proveedor> Listar()
        {
            try
            {
                return ProveedorData.Instancia.Listar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<Proveedor> Buscar(string nombre)
        {
            try
            {
                return ProveedorData.Instancia.Buscar(nombre);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public Proveedor ObtenerPorID(int idProveedor)
        {
            try
            {
                return ProveedorData.Instancia.ObtenerPorID(idProveedor);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public Proveedor ObtenerPorRUC(string ruc)
        {
            try
            {
                return ProveedorData.Instancia.ObtenerPorRUC(ruc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public int Agregar(Proveedor proveedor)
        {
            try
            {
                return ProveedorData.Instancia.Agregar(proveedor);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Modificar(Proveedor proveedor)
        {
            try
            {
                ProveedorData.Instancia.Modificar(proveedor);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Eliminar(int idProveedor)
        {
            try
            {
                ProveedorData.Instancia.Eliminar(idProveedor);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
